home *** CD-ROM | disk | FTP | other *** search
-
-
- SnapWindow Version 1.0
-
- Written By, Jason Scott Chvat. Copyright 1993 SilverSoft.
-
- This program is SHAREWARE. NOT PD!! You may distrubite it to anyone you
- wish granted, that no profit is made from this transaction. Please note,
- this is only version 1.0. THERE ARE BUGS! All programs have them, I have
- gone absolutely bonkers trying to crash the program in every way possible
- to get the bugs out of it. If you locate any problems or have suggestions
- for the next version 1.1 please contact me (Handle: SilverSurfer) through
- the BLACK RAINBOW at (714)-586-6836.
-
- WARNING: Author is not responsible for any problems/loss of data resulting
- from the use of this program.
-
- ============================================================================
-
- WHAT IS SNAPWINDOW?
-
- Simply stated, SnapWindow is a small utility that I created to help me
- handle my workbench windows. Although, it isn't limited to just the workbench
- What's wrong with the workbench you ask? Well, for those of you who program
- or run a bunch of different tasks simutaneously, the workbench can be an
- utter disaster area. I normally have am running an editor, two separate
- shells (in case one decides to freeze up on me), a debugger, and a
- communications program. This leads to a lot of confusion as to which window
- to throw out so I can find what I am looking for. So I figured hey why not
- attach these suckers to function keys. That way I can hit f1 and bring up
- my editor and type, hit f2 and bring up my cli to compile, and later f3 to
- find out if I am done leeching from various BBS's.
-
- So does that answer the question?
-
- ============================================================================
-
- KNOWN PROBLEMS/HOW IT WAS WRITTEN:
-
- 1. This program WILL crash your system as would any other that uses the
- SetFunction() command. In other words, I patch the intuition library in
- quite a few places. So if one program tried to open/close a window while
- SnapWin is changing (exiting most likely) the library vectors, YOU WILL
- HAVE A PROBLEM. How do you get around it? Not easily! I haven't had any
- problems with it, actually I can't even get it to call the functions at the
- same time so I wouldn't really worry. In addition, the patch counts how
- many tasks are currently using it, and won't exit until everyone is
- finished doing there thing.
-
- - Best precaution I can give -
-
- DON'T OPEN A WINDOW WHILE SNAPWIN IS PATCHING INTUITION!
-
-
- 2. SnapWin was written almost entirely in Aztec C Ver 5.1, except for a few
- minor assembly subroutines. Hopefully, the entire input-handler will be
- rewritten in assembly *as soon as I get 20 minutes to myself*. Source code
- is not available for ver1.0 at this time for 1 basic reason- It's a mess! I
- have subroutines in about 10 different files, with backup versions all over
- my hard drive. When I sort out the files, clean up the source code, and
- release the next version I will put out some kind of sample source. (not
- that it is astonishing or anything, I am just too embarrassed to exhibit
- source code that looks like it got hit by the Dpaint SMEAR function!)
-
- ============================================================================
-
- SPECIAL THANKS:
-
- I would like to thank my bud, Geoff Wiley at the Computer Guild in
- Mission Viejo California for being cool, and helping me set up an awesome
- Amiga 500. In addition, to his suggestions for User Interface, and
- additional doo-dads.
-
- Also, My girlfriend for putting up with me getting peeved because the
- assembly patches I was writting kept crashing (register trashing is fun).
-
- Keep making amiga great! Don't give in to temptation, and practice safe
- programming. Viruses these days can be mighty nasty.
-
-
- COMPUTER GUILD
- 24001 Via Fabricante St. 1003/4
- Mission Viejo, Ca 92691
- (714)-951-1355
-
- ============================================================================
-
- HOW TO LOAD SNAPWIN:
-
- SnapWin is linked with detach.o (copyright Aztec C) a program that make
- SnapWin create its own process. In other words you don't have to RUN the
- darn thing. (I would have loved to done this portion of the programming
- myself, but for some reason playing around with seglists doesn't really
- compare to the EXCITEMENT of mass input programming.)
-
- So simply stated type this: SnapWin. (wo, that's hard!)
-
-
- [NOTE RUNNING FROM THE WORKBENCH IS JUST AS DIFFICULT]
-
-
- For the workbench: Click on the SnapWin icon.
-
- ============================================================================
-
- WHAT THE GADGETS ARE FOR:
-
- SnapWindow Ver1.0 has 10 different gadgets attached to its help window.
- These gadgets each have a different function. In addition one or more of
- these gadgets may not be enabled in this particular version.
-
- (That's what revisions and updates are for)
-
- MOUSESPEED- This gadget simply toggles the mouse accelerator on and off.
- If it is checked the accelerator is on.
-
- WINDOWFKEYS- This gadget toggles the function keys on and off. In other
- words if you are using a terminal, or painting utility and it has function
- key that you wish to use, you can simple turn off SnapWindows function
- keys. This way, you don't have to have a window pop up when you are trying
- to use a macro.
-
- WINDOWAUTOSELECT- To be used to select whether SnapWindow should patch
- Intuition or not. Basically, I think this is the most useful/beneficial
- part of the SnapWindow utility. WindowAutoSelect (as I like to call it)
- will automatically assign a [EMPTY] function key to any window that is
- opened.
-
- SUNMOUSE- At regular intervals the program will activate any window
- underneath the mouse pointer that is not already active. If this option is
- on (of course).
-
- BLANKER- A simple screen blanker. Go away and watch the screen turn black.
- Neat Huh?
-
- HIDE- Will close the SnapWindow HELP requester. To bring the requester
- back up simply hit the [HELP] key. Ingenious eh?
-
-
- NOTES:
-
- - The scroll box at this point in time serves only one real purpose: To
- list what windows are assigned to what function keys. It will have a more
- intricate role in later versions. However, for now it serves its purpose.
-
- - The last two gadgets REMOVE and RAMIGA/RAMIGA+ALT are at this time
- also considered to be inactive.
-
- ** DON'T ASK ME WHY they are there if they do not function, They just do
- ** not function yet that's all!
-
-
- ============================================================================
-
- WHAT ARE THE MENUS FOR:
-
- PROJECT MENU
- ============
-
- ABOUT- Gives you a little information, and besides I think it's pretty.
-
- NEW- Resets all the function keys so that they are "EMPTY".
-
- LOAD & SAVE- Save and Load specific configuration files. The program will
- automatically examine "DEVS:Snap.CFG" at start up. Some additional
- benefits will be associated with these functions at a later date...
-
- (Don't you wish you knew!?!? It's good though)
-
- QUIT- If you don't know, I am not going to tell you!
-
- ===========================================================================
-
- HOW TO USE SNAPWINDOWS:
-
- 1. To assign a window press the left-amiga key and the function key you
- wish to assign the CURRENT/ACTIVE window to. The window's title should
- then appear in the listbox on the help window. To release a particular
- key, use the remove gadget.
-
- 2. The function keys, and other utilities will remain active while the
- HELP window is not open.
-
- 3. One additional feature of SnapWindows is the ability to type directly
- into any window without it being active. Just position the mouse above the
- window you wish to type into and go for it.
-
- 4. If a window is located on a separate screen the function keys will
- bring the screen and window into view. Kind of like right amiga m except
- that specific function keys will contain specific screens.
-
- 5. The HELP key will bring SnapWindow's requester up on the CURRENTLY
- ACTIVE screen. So if you are using dpaint... and hit help snapwindow will
- pop up. (Unless, you restrict it to the workbench only)
-
- ===========================================================================
- WHAT IS THE PREFERENCES GADGET FOR?
-
- The preferences window let's you set some additional flags and
- restricitions on SnapWindow.
-
- SUNMOUSE DELAY- Sets how many seconds to wait before activating the window
- located directly underneath the pointer.
-
- BLANKER DELAY- Sets how many seconds to wait before blanking out the
- screen.
-
- KEYBOARD WINDOW ACTIVATION- If this is selected then SnapWin will
- automatically select the window under the mouse pointer when a key is hit.
-
- CAPTURE 2.0+ WINDOWS ONLY- Will only add/assign a window to a function key
- if the window uses the OpenWindowTag() function. In other words SnapWin
- will only auto select window created to run under 2.0. If the gadget is not
- selected then SnapWin will select any windows opened.
-
- ACTIVE ON WBENCH ONLY- SnapWin's Function keys, and Sunmouse functions will
- only be active on the workbench.
-
- REMAIN QUIT- SnapWin will not bring up it's "OK"/"CANCEL" requester.
-
- ============================================================================
-
- Technical Info:
-
- 1. SnapWindows sets up a port called "SnapPort" that is used for relaying
- messages from its input handler and intuition patches. It isn't wise to
- screw around with this port. But if you must know the message structure
- being used is the following:
-
- struct HandlerMessage
- {
- struct Message h_msg;
- struct InputEvent ev;
- struct Window *win;
- USHORT flag;
- };
-
-
- 2. On certain screens if the SnapWindow screen is brought up it will
- destroy the contents of the screen. I assume this is the result of other
- progams not using a SMART_REFRESH window. In either case, be cautious. I
- have also noticed under certain conditions if you try to close a screen
- while SnapWindow is open on it, this will become rather hairy. So, do
- yourself a favor and HIDE SnapWindow before closing a screen.
-
- Any other technical question can be directed to me at the BLACK RAINBOW.
-
- ===========================================================================
-
- I hope these documents help out.
-
- NOTE:
-
- If you enjoy the use of this product and wish to receive more
- information, updated versions or to become registered please send a
- contribution of $10. Let's all remember I am a student and have
- more important things to be worrying about than programming.
- However, I must admit it is a most enjoyable hobbie.
-
- SPECIAL NOTICE
-
- I have for some unkown reason decided to release this EARLY. All notices
- are still effective. However, please NOTE: Some of the additional functions
- that I have installed or are being installed are not available yet. This
- is a ALPHA testing version. Please give any feedback... and all
- contributers will receive a spiral notebook with source code, updated
- instructions, and a disk with the newest version. (The source code will
- be supplied with a $15-20 contribution)
-
- Jason Scott Chvat
- 28 Brookstone
- Irvine, Ca 92714
-
- I can also be found frequenting the UCI Library. :)
-
- ===========================================================================
- Le finale.
-